# 导包（将接口对象层封装的接口类导入进来）
from api.lite_login import LiteLoginAPI

# 创建测试类
class TestLiteLoginAPI:
    # 前置处理
    def setup_method(self):
        # 将第一步导入进来的接口类实例化为一个对象
        self.login_api = LiteLoginAPI()
    # 后置处理
    def teardown_method(self):
        pass
    # 编写测试用例方法
    # 登录成功
    def test01_success(self):
        login_data = {"username":"user123","password":"user123"}

        resp = self.login_api.login(test_data=login_data)
        # 编写断言判断响应结果是否符合预期
        # 断言状态码是否为200
        assert 200 == resp.status_code
        # 断言errno的值是否为0
        assert 0 == resp.json().get("errno")
        # 断言”成“是否在响应文本中
        assert '成' in resp.text

    # 登录失败（用户名为空）
    def test02_without_username(self):
        login_data = {"username": "", "password": "user123"}

        resp = self.login_api.login(test_data=login_data)
        # 编写断言判断响应结果是否符合预期
        # 断言状态码是否为200
        assert 200 == resp.status_code
        # 断言errno的值是否为700
        assert 700 == resp.json().get("errno")
        # 断言”成“是否在响应文本中
        assert '不存在' in resp.text
    # 登录失败（用户名未注册）
    def test03_username_not_rege(self):
        login_data = {"username": "user1111", "password": "user123"}

        resp = self.login_api.login(test_data=login_data)
        # 编写断言判断响应结果是否符合预期
        # 断言状态码是否为200
        assert 200 == resp.status_code
        # 断言errno的值是否为700
        assert 700 == resp.json().get("errno")
        # 断言”不存在“是否在响应文本中
        assert '不存在' in resp.text